badedf657a4a697d0960456853bb464acc08e9cc,src/main/java/org/elasticsearch/common/bytes/BytesReference.java,Helper,bytesEqual,#BytesReference#BytesReference#,36

Before Change


            if (!a.hasArray()) {
                a = a.toBytesArray();
            }
            if (!b.hasArray()) {
                b = b.toBytesArray();
            }
            int bUpTo = b.arrayOffset();
            final byte[] aArray = a.array();
            final byte[] bArray = b.array();
            final int end = a.arrayOffset() + a.length();

After Change



    public static class Helper {

        public static boolean bytesEqual(BytesReference a, BytesReference b) {
            if (a == b) {
                return true;
            }
            if (a.length() != b.length()) {
                return false;
            }

            if (a.hasArray() && b.hasArray()) {
                // court-circuit to compare several bytes at once
                return UnsafeUtils.equals(a.array(), a.arrayOffset(), b.array(), b.arrayOffset(), a.length());
            } else {
                return slowBytesEquals(a, b);
            }